Consulta de Guías Docentes



Academic Year/course: 2017/18

534 - Master's Degree in Informatics Engineering

62222 - High Performance Computing


Syllabus Information

Academic Year:
2017/18
Subject:
62222 - High Performance Computing
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
534 - Master's Degree in Informatics Engineering
ECTS:
6.0
Year:
1
Semester:
First semester
Subject Type:
Compulsory
Module:
---

5.1. Methodological overview

The methodology followed in this course is oriented towards achievement of the learning objectives. A wide range of teaching and learning tasks are implemented, such as

  1. Class attendance. In lectures the teacher explains the course contents and includes illustrative examples. 
  2. Laboratory sessions. Activities with specialized equipment (in the laboratory, computer rooms).
  3. Tutorials. Students can review and discuss with the teacher the materials and topics presented in class.
  4. Assessment. A set of written and oral tests, assignments, projects, etc.
  5. Autonomous work. Preparation of assignments and exercises, study of lectures' contents, preparation of examination, library research, complementary readings, problem-solving, etc. 

5.2. Learning tasks

The course (150 hours) includes the following learning tasks: 

  • Classroom activities (50 hours). Seminars, problem-solving, laboratory sessions, visits, etc.
  • Research assignments and projects (45 hours). 
  • Tutorials (5 hours).
  • Autonomous work and study (45 hours).
  • Assessment (5 hours). Exam and defense of the course project.

5.3. Syllabus

The course will address the following topics:
Section  1: Numerical simulation

  • Numerical simulation of continuous phenomena
  • Numerical simulation of discrete events
  • Approximations and numerical techniques

Section 2: Architecture and Technology of Supercomputers

  • Shared memory multiprocessor systems. Coherence, consistency
  • Distributed memory multiprocessor systems. Interconnection networks
  • Specific architectures for high performance. Multimedia extensions, GPGPUs

Section 3: Parallel Programming Paradigms

  • Shared memory
    • Vectorization
    • Automatic parallelization. Help the compiler
    • Manual parallelization: OpenMP
  • Distributed memory
    • MPI

Section 4: Optimization of parallel programs

  • Optimization Techniques
  • Metrics and performance analysis tools in supercomputers


These contents will be strengthened through the preparation of case studies in which the acquired knowledge to solve a complex problem will be applied.

5.4. Course planning and calendar

Further information concerning the timetable, classroom, office hours, assessment dates and other details regarding this course, will be provided on the first day of class or please refer to the Center website and course website.

5.5. Bibliography and recommended resources

  • Berry, Michael W.. High-Performance Scientific Computing: Algorithms and Applications/ Michael W. Berry, Kyle A. Gallivan, Efstratios Gallopoulos Springer, 2014
  • Gove, Darryl. Multicore Application Programming / Darryl Gove. Addison Wesley, 2010
  • Intel 64 and IA32 Architecture Optimization Reference Manual .
  • Kennedy, K.. Optimizing Compiler for Modern Architectures: a Dependence-Based Approach/Kennedy, K.and Allen, J. R. Morgan Morgan Kaufmann Publishers Inc 2002.
  • Pacheco, Peter. Parallel Programming with MPI / Peter Pacheco. 1996, Morgan Kaufmann, 1996
  • Quinn, Michael J.. Parallel programming in C with MPI and OpenMP / Michael J. Quinn Boston [etc.] : McGrawHill, 2003
  • Sun Studio 12 OpenMP API User´s Guide